package com.xhcl.system.service;

import java.util.List;

import com.xhcl.system.domain.TGgKmdm;
import com.xhcl.common.core.domain.Stree;
import com.xhcl.common.core.domain.Ztree;

/**
 * 会计科目Service接口
 * 
 * @author xhcl
 * @date 2020-08-25
 */
public interface ITGgKmdmService 
{
    /**
     * 查询会计科目
     * 
     * @param nd 会计科目ID
     * @return 会计科目
     */
    public TGgKmdm selectTGgKmdmById(String kmdm);

    /**
     * 查询会计科目列表
     * 
     * @param tGgKmdm 会计科目
     * @return 会计科目集合
     */
    public List<TGgKmdm> selectTGgKmdmList(TGgKmdm tGgKmdm);

    /**
     * 新增会计科目
     * 
     * @param tGgKmdm 会计科目
     * @return 结果
     */
    public int insertTGgKmdm(TGgKmdm tGgKmdm);

    /**
     * 修改会计科目
     * 
     * @param tGgKmdm 会计科目
     * @return 结果
     */
    public int updateTGgKmdm(TGgKmdm tGgKmdm);

    /**
     * 批量删除会计科目
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteTGgKmdmByIds(String ids);

    /**
     * 删除会计科目信息
     * 
     * @param nd 会计科目ID
     * @return 结果
     */
    public int deleteTGgKmdmById(String kmdm);

    /**
     * 查询会计科目树列表
     * 
     * @return 所有会计科目信息
     */
    public List<Stree> selectTGgKmdmTree();
    
    /**
     * 查询会计科目树列表
     * 
     * @return 所有会计科目信息
     */
    public List<Stree> selectTGgKmdmTree(Long nd);
    public List<Stree> selectTGgKmdmTree(String yskmdm);
    
    public List<TGgKmdm> selectTGgKmdmForJzZtList(TGgKmdm tGgKmdm);
}
